package br.com.bd2.hibernate.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

@Entity
@Table(uniqueConstraints = {@UniqueConstraint(name = "uk_estoque_grade_item", columnNames = {"gradeItem", "loja", "produto"})})
public class EstoqueGradeItem {
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_estoque_grade_item")
	@SequenceGenerator(name="seq_estoque_grade_item", sequenceName="seq_estoque_grade_item")
	private Long id;
		
	@ManyToOne
	@JoinColumn(name = "gradeItem", nullable=false)
	private GradeItem gradeItem;
	
	@ManyToOne
	@JoinColumn(name = "loja", nullable=false)
	private Loja loja;

	@ManyToOne
	@JoinColumn(name = "produto", nullable=false)
	private Produto produto;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public GradeItem getGradeItem() {
		return gradeItem;
	}

	public void setGradeItem(GradeItem gradeItem) {
		this.gradeItem = gradeItem;
	}

	public Loja getLoja() {
		return loja;
	}

	public void setLoja(Loja loja) {
		this.loja = loja;
	}

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

}